// 1️⃣ 取得当前激活的标签页
function getActiveTab() {
    return new Promise((resolve, reject) => {
      chrome.tabs.query({active: true, currentWindow: true}, tabs => {
        if (chrome.runtime.lastError) {
          reject(chrome.runtime.lastError);
          return;
        }
        if (tabs.length === 0) reject(new Error('未找到激活的标签页'));
        else resolve(tabs[0]);
      });
    });
  }
  
  // 2️⃣ 在该标签页执行脚本，返回页面信息
  function fetchPageInfo(tabId) {
    return new Promise((resolve, reject) => {
      chrome.scripting.executeScript(
        {
          target: {tabId},
          func: () => ({
            url: location.href,
            title: document.title,
            // 选中的文字（如果没有则为空字符串）
            selectedText: window.toString()
          })
        },
        results => {
          if (chrome.runtime.lastError) {
            reject(chrome.runtime.lastError);
            return;
          }
          // results 是一个数组，通常只有一个元素
          resolve(results[0].result);
        }
      );
    });
  }
  
  // 3️⃣ 按钮点击处理
  document.getElementById('readContent').addEventListener('click', async () => {

    try {
        // 1. 获取当前标签页
        const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
        console.log("当前标签页:", tab); // 调试输出
    
        if (!tab?.id) {
          throw new Error("无法获取标签页 ID");
        }
        if (!tab.url.startsWith('http')) {
          throw new Error("不支持此页面类型");
        }
    
        // 2. 注入脚本
        const results = await chrome.scripting.executeScript({
          target: { tabId: tab.id },
          func: () => ({
            title: document.title,
            url: location.href,
            text: document.body.innerText,
          }),
        });
    
        // 3. 处理结果
        const content = results[0].result;
        console.log("内容:", content);
        // 例如显示到侧边栏：
       // document.getElementById('result').textContent = JSON.stringify(content, null, 2);
      } catch (err) {
        console.error("获取失败:", err);
        alert("错误: " + err.message);
      }

    try {
      const tab = await getActiveTab();               // 获取当前标签页
      const info = await fetchPageInfo(tab.id);       // 注入脚本获取页面信息
  
      // 在侧边栏 UI 中展示（可选）
      document.getElementById('output').textContent =
        JSON.stringify(info, null, 2);
  
      // 同时打印到浏览器控制台
      console.log('【侧边栏】当前页面信息：', info);   // ← 这里会在侧边栏的 DevTools 中出现
    } catch (e) {
      console.error('获取页面信息失败：', e);
      document.getElementById('output').textContent = '错误：' + e.message;
    }
  });
  